package com.achievement.service;

import com.achievement.domain.dto.honor.HonorDTO;
import com.achievement.domain.entity.HonorEntity;
import com.achievement.domain.param.honor.HonorApplyBookParam;
import com.achievement.domain.param.honor.HonorParam;
import com.achievement.domain.vo.honor.HonorExcelVO;
import com.achievement.domain.vo.honor.HonorVO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.common.core.domain.AjaxResult;

import java.util.HashMap;
import java.util.List;

public interface IHonorService extends IService<HonorEntity> {
    List<HonorVO> selectByPage(HonorParam param);

    /**
     * 成果管理-获奖分页列表
     * @param honorParam
     * @return
     */
    List<HonorVO> listByPage(HonorParam honorParam);
    /**
     * 管理员-获奖列表左上方分组
     * @param param
     * @return
     */
    List<HashMap<String, Integer>> listStatistics(HonorParam param);
    List<HonorEntity> getListByConditions(HonorDTO honorDTO);
    HonorVO getInfoById(String id);
    AjaxResult addHonorAndHonorAuthor(HonorDTO dto);

    AjaxResult updateHonorAndHonorAuthor(HonorDTO dto);

    boolean add(HonorDTO dto);

    boolean update(HonorDTO dto);

    boolean batchRemove(List<String> ids);

    /**
     * 获奖成果导出
     * @param honorParam
     * @return
     */
    List<HonorExcelVO> honorLisExcel(HonorParam honorParam);
}
